<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Document extends MY_Controller
{
	public function __construct()
	{
		parent::__construct();
		$this->load->model('Document_model', 'document');
        $login_status  = $this->check_login_status();
        if (empty($login_status)){
            redirect('/');die;
        }
	}
    public function index()
    {
       $_SESSION['sidebar'] = "document";  
        $per_page = $this->input->get('per_page') ? $this->input->get('per_page') : 0;
        $departmentid = $this->input->get('departmentid') ? $this->input->get('departmentid') : 0;
        $doc_cat_list = $this->document->get_cat_list();
        $limit = 11;
        $filter['departmentid'] = $departmentid;
        $total_rows = $this->document->getMyDocumentListCnt($filter);
        $base_url = '/document/index?';
        $page_links = $this->create_page_links($base_url,$total_rows,$limit);
        $documentList = $this->document->getMyDocumentList(" * ",$per_page, $limit,$filter);
        $data = array(
            'documentList'=>$documentList,
            'page_links'=>$page_links,
            'per_page'=>$per_page,
            'doc_cat_list'=>$doc_cat_list,
            'departmentid'=>$departmentid
            );
        $this->load->view("document/index", $data);
    }

    /*
  封装函数:
  参数说明----$file_name:文件名
     $file_sub_dir:文件下载的子路径 
 */
 public function fileDown(){
    //文件转码
    $docpath = $this->input->get('docpath') ? $this->input->get('docpath') : 0;
    $filename = $this->input->get('filename') ? $this->input->get('filename') : 0;
    $docpath=iconv("utf-8","gb2312",$docpath);
    //使用绝对路径
    $file_path=$_SERVER['DOCUMENT_ROOT']."/uploads".$docpath;
    //打开文件---先判断再操作
    if(!file_exists($file_path)){
       echo "文件不存在";
       return ; //直接退出
    }
      //存在--打开文件
    $fp=fopen($file_path,"r");
      //获取文件大小
      $file_size=filesize($file_path);
      /*
      //这里可以设置超过多大不能下载
      if($file_size>50){
       echo "文件太大不能下载";
       return ;
      }*/
      //http 下载需要的响应头 
      header("Content-type: application/octet-stream"); //返回的文件 
      header("Accept-Ranges: bytes");   //按照字节大小返回
      header("Accept-Length: $file_size"); //返回文件大小
      header("Content-Disposition: attachment; filename=".$filename);//这里客户端的弹出对话框，对应的文件名
      //向客户端返回数据
      //设置大小输出
      $buffer=1024;
      //为了下载安全，我们最好做一个文件字节读取计数器
      $file_count=0;
      //判断文件指针是否到了文件结束的位置(读取文件是否结束)
      while(!feof($fp) && ($file_size-$file_count)>0){
       $file_data=fread($fp,$buffer);
       //统计读取多少个字节数
       $file_count+=$buffer;
       //把部分数据返回给浏览器
       echo $file_data;
      }
      //关闭文件
      fclose($fp);
     }

}
/* End of file Index.php */
/* Location: ./application/controllers/document.php */
